═══ 1. About the SourceCalc Calculator ═══ The SourceCalc Calculator is a general purpose, PM screen, calculator with capabilities for Decimal, Hexadecimal, Binary, and Octal intermix calculations and presentation. SourceCalc provides memory register storage, along with serial and constant calculations. Both binary, boolean and unitary (reciprocal and square root) operations are available. Hexadecimal and binary calculations are performed on 32 bit unsigned integers. Decimal numbers are limited to 12 digits. Decimal calculations are limited to 8 decimal places. Hexadecimal, binary and octal calculations are limited to +429,467,294 (decimal) and -2,147,483,646 (decimal). Fractional decimal numbers cannot be converted to binary, hexadecimal, or octal presentations. For additional information select one of the following topics: * Keyboard and Mouse Input * Serial Calculations * Constant Calculations * Numeric Base Mode * Memory * Boolean Operations * Clearing Accumulators * Keys SourceCalcisaproductof SourceLine Software, Inc. 7770 Regents Rd. #113-502 San Diego, California (619) 597-4713 Version 1.0 (C) 1991 SourceLine Software, Inc. All Rights Reserved ═══ 2. SourceCalc Keys and Buttons ═══ The following keys define the keyboard operation of SourceCalc. Standard Keyboard: Numeric 0-9 Hexadecimal A(a)-F(f) Esc Equivalent to "C/E" Enter Equivalent to "=" SHIFT + Plus Operator - Minus Operator SHIFT * Multiply Operator Ў Divide Operator . (Period) Decimal Point Keypad: (Not necessary to set 'Num Lock') Numeric 0-9 Enter Equivalent to "=" . (Period) Decimal Point +,-,*,Ў Operators Function Keys + (Combination of pressing Function Key and then a command key. F1 (General Help - No additional key required) F3 + (Numeric Base Mode) D(d) - Decimal H(h) - Hexadecimal B(b) - Binary O(o) - Octal F4 + (Memory) S(s) - Store in Memory R(r) - Recall Memory Value A(a) - Add to Memory D(d) - Display Memory F5 + (Other Functions and Operators) &(7) - Boolean AND |(\) - Boolean OR X(x) - Boolean XOR N(n) - Boolean NOT Q(q) - Square Root R(r) - Reciprocal C(c) - C/E Clear A(a) - All Clear >(.) - Shift Right <(,) - Shift Left S(s) - Change Sign (ё) ═══ 3. Boolean AND Operator ═══ The boolean AND operator is a binary operator requiring two arguments. The result is a bitwise AND of up to 32 bits. Fractional decimal numbers cannot be used in this operation and will produce an error. Example (binary) 1101011AND 0011001 ========= 0001001 Result See Also: OR, XOR, NOT. ═══ 4. Boolean OR Operator ═══ The boolean OR operator is a binary operator requiring two arguments. The result is a bitwise OR of up to 32 bits. Fractional decimal numbers cannot be used in this operation and will produce an error. Example (binary) 1101011OR 0011001 ========= 1111011 Result See Also: AND, XOR, NOT. ═══ 5. Boolean XOR Operator ═══ The boolean XOR operator is a binary operator requiring two arguments. The result is a bitwise exclusive OR of up to 32 bits. Fractional decimal numbers cannot be used in this operation and will produce an error. Example (binary) 1101011XOR 0011001 ========= 1110110 Result The Exclusive OR results in a bit set true if either argument bit is set, but not both. The unique characteristic of this operator is that either argument XOR with the result will yield the other argument in a this reversal process. See Also: OR, AND, NOT. ═══ 6. Boolean NOT Operator ═══ The boolean NOT operator is a unitary operator inverting each of the 32 bits of an argument. Fractional decimal numbers will be truncated to a whole number prior to executing this function. Example (binary) 1101011NOT ========= 11111111111111111111111110010100 Result See Also: OR, AND, XOR. ═══ 7. Reciprocal Function (1/x) ═══ The Reciprocal Function (1/x) is unitary operator and is equivalent to dividing the argument into 1 (one). Reciprocating a Hexadecimal, binary or Octal number will be performed, however the fractional result cannot be displayed except in the "Decimal Mode". Example (decimal) 100 1 / x ========= .001 Result ═══ 8. Square Root Function (Sqrt) ═══ The Square Root Function is unitary operator and calculates the square root of the displayed argument. If the result of this function is fractional, a "Display Error" will be indicated in the Hexadecimal, Binary, or Octal Mode. Displaying the fractional value of the square root of a hexadecimal number is achieved by switching the result to "Decimal". Example (decimal) 64( Sqrt ) ========= 8 Result ═══ 9. Change Sign (ё) ═══ Pressing this button will reverse the sign of the numeric value shown in the display panel. This button can be pressed a second time to restore the sign of the number. ═══ 10. Equals button (=) ═══ Pressing this button will complete a calculation and displays the result in the display panel. Additional calculations can be performed with this result as the first argument by entering an operator (+,-,*,/, etc) and another argument value. Constant calculations can be continued after the equal button is pressed by entering an argument and again pressing the equal button. All accumulators can be cleared to zero by pressing 'C/E' or the 'Esc' button after pressing the '=' button. The 'Enter' key is equivalent to the '=' button. ═══ 11. Clear Argument/Error (C/E) ═══ Pressing this button will clear the currently displayed argument and return to the previous calculation step if the calculation is not completed. As an example: Enter '12'. Enter '+'. Enter '5'. Press 'C/E'. Note that '12' is displayed and the operator '+' has been removed from the screen, and the last argument '5' has been cleared from the calculator. To continue, enter an operator (+,-,*,/) and the second argument to complete the calculation. Enter '+'. Enter '8'. Press '='. The result '20' will be displayed. This operator will clear all accumulators following an '=' or 'Enter' button. If the 'error' sign is displayed, this operator will clear all accumulators to terminate the current calculation. The 'Esc' button is equivalent to the 'C/E' button. In order to clear all accumulators in mid-process of a calculation, this button have to be pressed twice. The numeric display will indicate the state of the accumulators. When the display shows '0', the accumulators have been cleared. This operator does not clear memory. See also: All Clear. ═══ 12. ALL Clear (A/C) ═══ Pressing this button will clear all accumulators and memory from the calculator. This button effectively resets the calculator to its initialized state. See also: Clear Accumulator. ═══ 13. Mode Decimal (Dec) ═══ Pressing this button will set the calculator into the Decimal display mode. Input and display is limited to 9 (nine) decimal places, and 12 total numeric digits. The input keys A through F are disabled in this mode. See Also: Mode Hexadecimal, Mode Binary, Mode Octal. ═══ 14. Mode Binary (Bin) ═══ Pressing this button will set the calculator into the Binary display mode. Input and display is limited to 32 (thirty-two) binary digits. Fractional, numbers cannot be displayed and will show 'Display Error'. Press 'Dec' to display the decimal equivalent of the fractional number. The Binary display contains single quote marks every four bits, and a double quote mark at sixteen bits. Binary input and display is limited to +429,467,294 (decimal) and -2,147,483,646 (decimal). The input keys 2 through F are disabled in this mode along with the decimal point. See Also: Mode Decimal, Mode Hexadecimal, Mode Octal. ═══ 15. Mode Hexadecimal (Hex) ═══ Pressing this button will set the calculator into the Hexadecimal display mode. Input and display is limited to 8 (eight) hexadecimal digits. Fractional, numbers cannot be displayed and will show 'Display Error'. Press 'Dec' to display the decimal equivalent of the fractional number. The Hexadecimal display contains single quote mark after four digits. Hex input and display is limited to +429,467,294 (decimal) and -2,147,483,646 (decimal). The decimal point is disabled in this mode. See Also: Mode Decimal, Mode Binary, Mode Octal. ═══ 16. Mode Octal (Oct) ═══ Pressing this button will set the calculator into the Octal display mode. Input and display is limited to 12 (twelve) Octal digits. Fractional, numbers cannot be displayed and will show 'Display Error'. Press 'Dec' to display the decimal equivalent of the fractional number. Octal input and display is limited to +429,467,294 (decimal) and -2,147,483,646 (decimal). The input keys 8 through F are disabled in this mode along with the decimal point. See Also: Mode Decimal, Mode Hexadecimal, Mode Binary. ═══ 17. Shift Right () ═══ Pressing the Shift Right button will shift the display one digit to the right. This effectively right truncates the number displayed by one digit, or divides the display number by the base number ( Binary = 2, Decimal = 10, Hexadecimal = 16, Octal = 8). By changing the Base Mode, the digit shifted can represent four bits (Hex), one bit (Binary), three bits (Octal), or a decimal digit. See Also: Shift Left. ═══ 18. Shift Left () ═══ Pressing the Shift Left button will shift the display one digit to the left. This effectively multiplies the number displayed by the base number ( Binary = 2, Decimal = 10, Hexadecimal = 16, Octal = 8). Shift Left will insert a zero (0) into the rightmost filled position. By changing the Base Mode, the digit shifted can represent four bits (Hex), one bit (Binary), three bits (Octal), or a decimal digit. See Also: Shift Right. ═══ 19. Multiply Operator (*) ═══ This is the multiplication operator. ═══ 20. Divide Operator (Ў) ═══ This is the division operator. ═══ 21. Subtract Operator (-) ═══ This is the subtraction operator. ═══ 22. Add Operator (+) ═══ This is the addition operator. ═══ 23. Decimal Point (.) ═══ This is the decimal point. This key is disabled in the Hexadecimal, Binary, and Octal Numeric Base Mode. ═══ 24. Memory Recall (Rcl) ═══ Pressing the Memory Recall button makes the current display value equal to the value in memory. See Also: Memory Add, Memory Store, Memory Display. ═══ 25. Memory Add (Add) ═══ Pressing the Memory Add button add the current displayed number to the memory accumulator. See Also: Memory Recall, Memory Store, Memory Display. ═══ 26. Memory Store (Sto) ═══ Pressing the Memory Store button replaces the value in memory with the currently display number. The Memory accumulator can be cleared by storing zero (0). See Also: Memory Add, Memory Recall, Memory Display. ═══ 27. Display Memory (M) ═══ Pressing the Display Memory button a popup panel will display the current value of the Memory accumulator. This display will be in the format determined by the current Base Number Mode (Decimal, Hexadecimal, Binary or Octal). See Also: Memory Add, Memory Store, Memory Recall. ═══ 28. Numeric 0 ═══ This is the numeric 0 (zero) button. See Also: Keys. ═══ 29. Numeric 1 ═══ This is the numeric 1 (one) button. See Also: Keys. ═══ 30. Numeric 2 ═══ This is the numeric 2 (two) button. This button is disabled in the Binary mode. See Also: Keys. ═══ 31. Numeric 3 ═══ This is the numeric 3 (three) button. This button is disabled in the Binary mode. See Also: Keys. ═══ 32. Numeric 4 ═══ This is the numeric 4 (four) button. This button is disabled in the Binary mode. See Also: Keys. ═══ 33. Numeric 5 ═══ This is the numeric 5 (five) button. This button is disabled in the Binary mode. See Also: Keys. ═══ 34. Numeric 6 ═══ This is the numeric 6 (six) button. This button is disabled in the Binary mode. See Also: Keys. ═══ 35. Numeric 7 ═══ This is the numeric 7 (seven) button. This button is disabled in the Binary mode. See Also: Keys. ═══ 36. Numeric 8 ═══ This is the numeric 8 (eight) button. This button is disabled in the Binary mode. This button is disabled in the Octal mode. See Also: Keys. ═══ 37. Numeric 9 ═══ This is the numeric 9 (zero) button. This button is disabled in the Binary mode. This button is disabled in the Octal mode. See Also: Keys. ═══ 38. Hexadecimal A ═══ This is the hexadecimal A button. This button is disabled in the Binary mode. This button is disabled in the Octal mode. This button is disabled in the Decimal mode. See Also: Keys. ═══ 39. Hexadecimal B ═══ This is the hexadecimal B button. This button is disabled in the Binary mode. This button is disabled in the Octal mode. This button is disabled in the Decimal mode. See Also: Keys. ═══ 40. Hexadecimal C ═══ This is the hexadecimal C button. This button is disabled in the Binary mode. This button is disabled in the Octal mode. This button is disabled in the Decimal mode. See Also: Keys. ═══ 41. Hexadecimal D ═══ This is the hexadecimal D button. This button is disabled in the Binary mode. This button is disabled in the Octal mode. This button is disabled in the Decimal mode. See Also: Keys. ═══ 42. Hexadecimal E ═══ This is the hexadecimal E button. This button is disabled in the Binary mode. This button is disabled in the Octal mode. This button is disabled in the Decimal mode. See Also: Keys. ═══ 43. Hexadecimal F ═══ This is the hexadecimal F button. This button is disabled in the Binary mode. This button is disabled in the Octal mode. This button is disabled in the Decimal mode. See Also: Keys. ═══ 44. Keyboard and Mouse Input ═══ SourceCalc provides for the use of the mouse, standard and keypad keyboard to enter numeric input into the calculator. The use of special function keys is also supported. All the calculator functions, operators, online help and numeric input is accessed by pressing the calculator buttons with the mouse cursor. All numeric input (0-9), including the decimal point, and the standard fours calculation operators (+,-,*,\) can be entered from the standard keypad. The application automatically recognizes these keys without placing the keypad the 'numeric lock' mode. The standard "typewriter" keyboard can be used to input all numeric values, including the hexadecimal values (A-F), in addition to the standard four calculation operators (+,-,\,*). The keys function as if you were typing in the input. The shift key is required to enter the operators (+,*,). The function keys F3, F4, and F5 preceding an additional designated key are equivalent to many of the special operator buttons on the calculator. F3 - Base Mode (Decimal, Binary, Hexadecimal, Octal). F4 - Memory functions. F5 - All other calculator functions. See Also: Keys. Additional Topics: * Serial Calculations * Constant Calculations * Numeric Base Mode * Memory * Boolean Operations * Clearing Accumulators * Keys * About pCalc ═══ 45. Serial Calculations ═══ Serial calculation is the normal mode of entering multiple calculations where the result of the first operation is the argument to the next calculation, and so on. You can perform serial calculations by repeatedly entering an calculation operator followed by an argument. The result of each intermediate calculation will be displayed. As an example: 2 + 3 (Result displayed: 5) + 6 (Result displayed: 11) + 4 (Result displayed: 15) ... If an argument is entered incorrectly, press the Clear button "C/E" (or "Esc"). The display will return to the previous result. At this time you can enter a new operator and argument. At the conclusion of the serial calculations you can press "=" (or the 'Enter' key). You can clear the accumulator by pressing "A/C" or by pressing "C/E" two times. Additional Topics: * Keyboard and Mouse Input * Constant Calculations * Numeric Base Mode * Memory * Boolean Operations * Clearing Accumulators * Keys * About SourceCalc ═══ 46. Constant Calculations ═══ Constant calculations allow you to enter a value to be calculated against a number of other arguments. Entering a base rate to multiply a number of factors is an example of a constant calculation. Constant calculations begin with the constant value entered as the first argument, followed by the operator and the second argument. Enter the "=" key to obtain the result of this operation. For the second and subsequent constant calculations, simply enter another argument and press "=" to obtain the result of this next calculation. As an example: 12 * (constant and Multiply operator) 2 === 24 Result 3 (next argument to multiply constant by) == 36 Result ( 12 * 3 ) Additional Topics: * Keyboard and Mouse Input * Serial Calculations * Numeric Base Mode * Memory * Boolean Operations * Clearing Accumulators * Keys * About SourceCalc ═══ 47. Numeric Base Mode ═══ The Base Mode determines the display of the input arguments and the calculation results. Within certain display rules, any value displayed can be converted to another numeric base (decimal, hexadecimal, binary, or octal) by using the mode buttons, or by entering the appropriate function keys (F3 + m). If a numeric value cannot be properly displayed, eg fractional decimal number converted to hexadecimal, a "Display Error" message will appear. This error will be corrected simply by changing the display mode back to decimal. The display error occurs as a result of trying to display fractional numbers in hex, binary, or octal; or trying to convert a decimal number too large for the 32 bit accumulator for binary, hexadecimal or octal. Hexadecimal, binary, and octal calculations are limited to +429,467,294 (decimal) and -2,147,483,646 (decimal). Fractional decimal numbers cannot be converted to binary, hexadecimal, or octal presentations. See Also: Mode Decimal, Mode Hexadecimal, Mode Binary, Mode Octal. Additional Topics: * Keyboard and Mouse Input * Serial Calculations * Constant Calculations * Memory * Boolean Operations * Clearing Accumulators * Keys * About SourceCalc ═══ 48. Memory ═══ This calculator will store one value in memory. The four keyboard commands that control the memory function are: Add - Add the displayed value to the memory accumulator. Sto - Store the displayed value in memory. Rcl - Recall the value in memory to become the current argument. "M" - Display the current value in memory. The Add function combines the currently displayed argument with the value in memory. The Store function replaces any value in memory with the currently displayed number. This can be used to clear memory, by storing "0". Recall bring the current value of memory to be the displayed argument for any calculation. "M" simply displays the current value of memory in a pop-up box. The display will be in the same numeric base as determined by the Base Mode selection (Decimal, Hexadecimal, Binary, or Octal). See Also: Mode Decimal, Mode Hexadecimal, Mode Binary, Mode Octal. And Also: Memory Add, Memory Store, Memory Recall, Memory Display. Additional Topics: * Keyboard and Mouse Input * Serial Calculations * Constant Calculations * Numeric Base Mode * Boolean Operations * Clearing Accumulators * Keys * About SourceCalc ═══ 49. Boolean Operations ═══ The Boolean Operators supported by this calculator are: OR - Bitwise OR AND - Bitwise AND XOR - Exclusive Bitwise OR NOT - Twos Compliment (Inverting each bit) The first four Boolean Operators require two arguments, the 'NOT' operator is a unitary operator, inverting all bits of a single argument. The Boolean operators can be performed on decimal whole numbers, hexadecimal, binary and octal arguments. See Also: OR, AND, XOR, NOT. Additional Topics: * Keyboard and Mouse Input * Serial Calculations * Constant Calculations * Numeric Base Mode * Memory * Clearing Accumulators * Keys * About SourceCalc ═══ 50. Clear Accumulators ═══ The accumulators in SourceCalc can be cleared in a number of ways depending upon the desired result. 'A/C' clears all accumulators, including memory. The function key combination for 'All Clear' is F5 + A. The 'C/E' button clears the currently displayed accumulator. If you are in mid-process of a calculation, the previous result will appear in the display. You can continue by entering an operator and another argument. Double pressing the 'C/E' button will clear all calculator arguments, but not memory, if you are in mid-process of a calculation. If the last button pressed was '=' (or Enter), a single 'C/E' will clear your accumulators. If "error" appears in the display, press 'C/E' to clear all arguments, and prepare to restart the calculation. See Also: Clear Accumulator, and All Clear. Additional Topics: * Keyboard and Mouse Input * Serial Calculations * Constant Calculations * Numeric Base Mode * Memory * Boolean Operations * Keys * About SourceCalc